package modelo;

import java.util.ArrayList;

public class ParteDeRompeHielos extends Parte {
	private enum Estado implements EstadoPosible {
		SANA, DANIADA, ROTA
	}

	public void initialize(int numeroDeParte) {
		// Siempre se crea con estado inicial sana y termina rota,
		// incluyendo las clases que hereden de parte.
		estadosPosibles = new ArrayList<EstadoPosible>();
		
		estadosPosibles.add(Estado.SANA);
		estadosPosibles.add(Estado.DANIADA);
		estadosPosibles.add(Estado.ROTA);
		estadoActual = 0;
		numero = numeroDeParte;
	}

	public ParteDeRompeHielos() {
		initialize(0);
	}
	
	public ParteDeRompeHielos(int numeroDeParte) {
		initialize(numeroDeParte);
	}
	
	public boolean estaRota() {
		return (getEstado() == Estado.ROTA);
	}
	
	public boolean estaSana() {
		return (getEstado() == Estado.SANA);
	}
	
	private EstadoPosible getEstado() {
		return estadosPosibles.get(estadoActual);
	}
}
